enum Container {
    Item(u64),
    Empty,
}

fn main() {
    let mut item = Container::Item(56);

    // `let` bindings require an "irrefutable(不可反驳的) pattern", like a `struct` or an `enum` with only one variant
    // 该匹配不能成功的原因是 Container 包含两个变体，即 Item(u64)和 Empty。
    let Container::Item(it) = item;
    println!("{it}");
}